import struct

def binaryExtract(f):
    s = f.read(8)
    t= struct.unpack("d", s)[0]
    s = f.read(4)
    nacc = struct.unpack("l", s)[0]
    s = f.read(4)
    npart = struct.unpack("l", s)[0]
    s = f.read(8*3)
    lbox= struct.unpack("ddd", s)
    posiciones=[]
    velocidades=[]
    fuerzas=[]
    diametros=[]
    #Comienza el bucle sobre el numero de particulas
    for i in range(npart):
        #Extraemos las posiciones
        s = f.read(8*3)
        pos= struct.unpack("ddd", s)
        #Extraemos las velocidades
        s = f.read(8*3)
        vel= struct.unpack("ddd", s)
        #Extraemos las fuerzas
        s = f.read(8*3)
        force= struct.unpack("ddd", s)
        #Extraemos el diametro
        s = f.read(8)
        diam= struct.unpack("d", s)
        posiciones.append(pos)
        velocidades.append(vel)
        fuerzas.append(force)
        diametros.append(diam)
    return [npart, nacc, lbox, posiciones,velocidades,fuerzas,diametros]

f = file('/home/jonk/eclipse/TCLMagneticTest/config.bin','r')
[npart, nacc, lbox, posiciones,velocidades,fuerzas,diametros]=binaryExtract(f)
print lbox
[npart, nacc, lbox, posiciones,velocidades,fuerzas,diametros]=binaryExtract(f)
print lbox
f.close()
